package com.ecoolex.chinadutyfree.retailer.ws;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.ecoolex.chinadutyfree.retailer.entity.PaymentOrder;
import com.ecoolex.chinadutyfree.retailer.entity.PaymentOrderRecord;
import com.ecoolex.chinadutyfree.retailer.pojo.QueryPaymentOrderDTO;
import com.ecoolex.framework.common.pojo.Page;
import com.ecoolex.framework.common.pojo.Pagination;
import com.ecoolex.framework.common.pojo.Sorting;

public interface PaymentOrderService {

	String pay(Integer type,String orderNo,String currencyType,Integer userId,
		BigDecimal realPrice,Date orderCreateTime,
		HttpServletRequest request,HttpServletResponse resp,String createUser);
	
	void orderNotify(HttpServletRequest req, HttpServletResponse response, String createUser) throws Exception;
	
	void refundNotify(HttpServletRequest req, HttpServletResponse response, String createUser) throws Exception;

	void payFrontNotify(HttpServletRequest req, HttpServletResponse response) throws Exception;
	
	PaymentOrder getByOrderNo(String orderNo);
	
	PaymentOrder getOrderById(Integer paymentOrderId);

	Pagination<PaymentOrder> queryOrderByQuery(QueryPaymentOrderDTO query, Sorting[] sorts, Page page);

	List<PaymentOrderRecord> queryRecordByOrderId(Integer paymentOrderId);
}
